package com.finalterm.order.service;

import com.finalterm.order.entity.CompensationTask;

/**
 * 补偿任务服务接口
 */
public interface CompensationTaskService {
    
    /**
     * 创建库存恢复补偿任务
     */
    void createStockRecoverTask(String orderNo, Long productId, Integer quantity);
    
    /**
     * 处理待重试的补偿任务
     */
    void processPendingTasks();
    
    /**
     * 执行单个补偿任务
     */
    boolean executeTask(CompensationTask task);
    
    /**
     * 更新任务状态
     */
    void updateTaskStatus(Long taskId, String status, String failureReason);
    
    /**
     * 增加重试次数并设置下次重试时间
     */
    void incrementRetryCount(Long taskId, String failureReason);
}
